Rewriting Strategies for Instruction Selection
نویسندگان
چکیده
Instruction selection (mapping IR trees to machine instructions) can be expressed by means of rewrite rules. Typically, such sets of rewrite rules are highly ambiguous. Therefore, standard rewriting engines based on fixed, exhaustive strategies are not appropriate for the execution of instruction selection. Code generator generators use special purpose implementations employing dynamic programming. In this paper we show how rewriting strategies for instruction selection can be encoded concisely in Stratego, a language for program transformation based on the paradigm of programmable rewriting strategies. This embedding obviates the need for a language dedicated to code generation, and makes it easy to combine code generation with other optimizations.
منابع مشابه
On the Automatic Generation of Instruction Selector Using Bottom-Up Tree Pattern Matching
Code generation in uences the e ciency of not only the compiled program but also the compilation process. The appearence of the many new processors has created the need of automating the code generation phase. The instruction selection is a important component to be poduced automatically in the code generation phase. The tools for automating the instruction selection usually use the tree-struct...
متن کاملCode Instruction Selection Based on SSA-Graphs
Instruction selection for embedded processors is a challenging problem. Embedded system architectures feature highly irregular instruction sets and complex data paths. Traditional code generation techniques have difficulties to fully utilize the features of such architectures and typically result in inefficient code. In this paper we describe an instruction selection technique that uses static ...
متن کاملProof of Correctness of a Processor with Reorder Buuer Using the Completion Functions Approach ?
The Completion Functions Approach was proposed in HSG98] as a systematic way to decompose the proof of correctness of pipelined microprocessors. The central idea is to construct the abstraction function using completion functions, one per unnnished instruction, each of which speciies the eeect (on the observables) of completing the instruction. In this paper, we show that this \instruction-cent...
متن کاملArchitecture and Applications
XRT– Exploring Runtime – is an exploration framework for programs represented in Microsoft’s common intermediate language (CIL). Processing .NET managed assemblies, it provides means for analyzing, rewriting, and executing the rewritten program. Whereas XRT’s representation of state allows for arbitrary exploration strategies, it is particularly optimized for transactional exploration, where a ...
متن کاملLanguage Learning Strategy Use and Instruction for the Iranian Junior High School EFL Learners: A Mixed Methods Approach
In order to confirm the effectiveness of language learning strategies in theIranian context in junior high schools, this study was designed to examine thepatterns of strategy use, the effects of strategy instruction on the students’ strategyuse, and the relationship between the participants’ strategy use and their Englishachievement. To achieve this objective, 57 junior high school participants...
متن کامل